This application is based on and incorporates herein by reference Japanese Patent Application No. 2000-378894 filed on Dec. 13, 2000.
1. Field of the Invention
The present invention relates to a vehicle controller with an information providing function, and more particularly, to a technique for realizing the information providing function with object-oriented programming.
2. Description of the Related Art
In recent years, progress in mechatronics, that is, combining mechanical techniques and electronic techniques, has progressed with advancements in electronic techniques such as the advent of high performance microprocessors. As a part of the progress of mechatronics, many computer systems have been introduced into vehicles such as automobiles and the like. Such on-board computer systems were developed to enhance resource saving, energy saving, driving performance, safety and other amenities that currently reside within vehicles. On-board computer systems include engine systems, driving systems, running/safety systems, entertainment systems and other systems.
In particular, a computer system (hereinafter, referred to as a vehicle controller) for controlling the vehicle, which is required to assure higher reliability, actually has improved reliability by providing self-diagnostic functions. That is, operating conditions of computer systems and sensors are automatically checked to ensure proper operation, and if a fault is generated, a fault code (DTC), as fault information, is generated and stored so that maintenance personnel can understand the contents of the fault. Vehicle information such as fault information can be read by a scanning tool connected to the vehicle and can be provided to an outside worker to facilitate adequate maintenance. The vehicle controller is provided with an information providing function to provide the requested vehicle information through communication with the scanning tool.
Here, an outline of operation for obtaining the vehicle information using the scanning tool will be explained. The vehicle information explained above also includes, in addition to the fault information, information about emissions and information about an actuator. Accordingly, the vehicle information is sorted into predetermined categories. Such categories are set as Mode $01 to Mode $09 depending on legislation. For example, the fault information usually includes freeze information covering vehicle conditions when a fault occurs and this freeze information is sorted as xe2x80x9cMode $02xe2x80x9d. Moreover, when the freeze information is considered, as an example, the freeze information is changed depending on the specifications of a vehicle manufacturer and therefore such categories have been set with every vehicle manufacturer in particular years.
Therefore, the scanning tool explained above designates the category and information included in the category and reads target information from such information. Namely, a service program to realize the information providing function obtains the vehicle information by determining the category designated by the scanning tool through communication with the scanning tool.
The invention solves several problems which are discussed below. Under the supposition that computer systems are mounted in a variety of positions in a vehicle, the vehicle information to be obtained by the scanning tool expands because of model changes. Therefore, addition to and/or alterations of the vehicle information is generated in timing of model changes. Moreover, due to differences between vehicle manufacturers and between types of vehicles, or due to differences between vehicle models or grades, the vehicle information is different. Additionally, the change of vehicle information is linked to the change of the category. Accordingly, the service program is requested to easily cover the change of the vehicle information including the change in units of category and moreover to have a format that enables the re-use of an unchanged part thereof.
Moreover, a communication method for the scanning tool changes in some cases, but it is preferred that the change of the communication method be covered with the service program so its unchanged part may be re-used. Accordingly, in the present invention, the re-use property defines a first object of forming the service program which is mounted into the vehicle controller which can easily cover the change of the communication method of the external apparatus, such as a scanning tool. A second object is forming the service program to easily cover the change of the requested vehicle information.
A service program realizing an information providing function of a vehicle controller is described to achieve the first object explained above. The service program is designed to be objected-aided and is formed in units of objects enabling re-use. The information providing function reads and outputs the vehicle information when a request is issued from the external apparatus such as the scanning tool. The present invention is particularly characterized in that the service program is provided with a service execution object and a service management object. The service execution object obtains the vehicle information based on a drive instruction.
Meanwhile, the service management object issues an instruction to the service execution object upon requesting information from the external apparatus through data communication therewith. This service management object also outputs the vehicle information obtained by the service execution object to the external apparatus. Namely, a vehicle information acquisition function and a function for communication with an external apparatus are respectively realized by individual objects. Thereby, when a method for communication with the external apparatus changes, it can be covered easily with a change of the service management object. In this case, the service execution object can be re-used as it is and thereby the re-use property of the service program improves.
In this specification, an expression mainly using the term xe2x80x9cobjectxe2x80x9d appears as required. It is a matter of course that the function is realized when the controller CPU in a vehicle executes a program in the object. Moreover, a service program to realize an information providing function of a controller for a vehicle to achieve the second object explained above is also formed in units of object enabling re-use and is also provided with a service execution object and a service management object. In this case, this service management object is prepared for every vehicle information group as a predetermined aggregation of the vehicle information and obtains vehicle information among the corresponding vehicle information groups based on the drive instruction.
Meanwhile, the service management object determines, upon an information request from the external apparatus, the service execution object through data communication with the external apparatus, issues the drive instruction to the service execution object and outputs vehicle information obtained by the service execution object to the external apparatus. In this case, since the service management object is prepared for every vehicle information group, the drive instruction is issued to the service execution object.
Continuing, since the service execution object is provided for every vehicle information group, if the requested vehicle information changes, an update job in units of the vehicle information group including the vehicle information can be realized. Therefore, change of the vehicle information can be covered easily. Moreover, the service execution object corresponding to the vehicle information group which is not changed can be re-used as it is and thereby the re-use property of the service program can be improved.
It is preferable that the vehicle information formed as an aggregation of the vehicle information having a higher possibility for simultaneous change, in consideration of a change pattern of the vehicle information. As an example, it is considered to form vehicle information as an aggregation of vehicle information based on legislation or requirements from vehicle manufacturers, or both. Namely, in this case, the vehicle information group is an aggregation for every category. As explained above, when the vehicle information having a higher possibility for the simultaneous change is defined as a vehicle information group, the change will be covered in the higher possibility only with the update job of the corresponding service execution object. As a result, the number of service execution objects to be re-used increases, making additional contribution to further improvement of re-use property of the service program.
It has already been described above that the external apparatus generally requests information by designating a category. Therefore, in the configuration where a plurality of service execution objects are prepared corresponding to the category as explained above, the service execution object determines, under the pre-condition that at least identification data to identify the vehicle information is included in the information request from the external apparatus, the corresponding service execution object based on this identification data. In this case, a determination process of the service execution object by the service management object can be simplified.
Moreover, the external apparatus usually designates information as a read object together with the category. Therefore, the service management object outputs, under a pre-condition that the designation data for designating the vehicle information in the vehicle information group is further included in the information request from the external apparatus, this designation data together with the drive instruction and thereby the service execution object obtains the vehicle information among the vehicle information group based on the designation data output from the service management object. In this case, the vehicle information acquisition process with the service execution object can be simplified. Moreover, under the pre-condition that a self-diagnostic function to store fault information as information in regard to a fault as a diagnosis object based on a fault detection result of the diagnosis object is provided, the service execution object is formed to obtain the fault information as vehicle information explained above. Under the pre-condition that the self-diagnostic program realizes the self-diagnostic function is formed in units of objects enabling the re-use, a structure for obtaining fault information as vehicle information can be explained below.
Namely, when the self-diagnostic program is provided, based on the fault detection result, at least with the fault information management object for management of the diagnosis fault information corresponding to the fault items, the service execution object obtains the diagnosis fault information as fault information by requesting, as required, the diagnosis fault information to the fault information management object. Moreover, when the self-diagnostic program is further provided with an FFD management object for management of freeze information including a vehicle condition when a fault occurs as additional information of the diagnosis fault information, the service execution object is considered to obtain the freeze information as fault information by requesting, as required, the freeze information to the FFD management object.
Moreover, when the self-diagnostic program is further provided with a fault detection object for detecting a fault of the diagnosis object, the service execution object obtains fault detection information as fault information by requesting detection information in relation to fault detection to the fault detection object. The phrase xe2x80x9cas requiredxe2x80x9d is used in describing the invention because the information is obtained only when acquisition of information is designated from the external apparatus.
As explained above, it is preferable, in the point that a change in units of the service execution object can be simplified, to obtain the fault information through operation of the object depending on the request from the service execution object. That is, the service execution object only requests the fault information without any regard for the place where the fault information is stored. The service program and self-diagnostic program installed in the vehicle controller may also be provided as a program driven in a computer. These programs are recorded to a computer-readable recording medium such as an FD, an MO, a DVD, a CD-ROM, a hard disc, or the like and can also be used by loading them to a computer system. Moreover, it is also possible that a program is recorded to a ROM or a backup RAM as a computer-readable recording medium with the ROM or RAM built into the computer system.
Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.